// Type inference test

func test_type_inference_suite() {
    println("Testing type inference...")

    // Test 1: Basic integer inference
    var x = 42
    println("x =")
    println(x)
    assert(x == 42, "Integer inference failed")

    // Test 2: Float inference
    var y = 3.14
    println("y =")
    println(y)

    // Test 3: String inference
    var s = "Hello"
    println("s =")
    println(s)

    // Test 4: Bool inference
    var b = true
    println("b =")
    println(b)

    // Test 5: Arithmetic expression inference
    var sum = 10 + 20
    println("sum =")
    println(sum)
    assert(sum == 30, "Arithmetic inference failed")

    // Test 6: Function call result inference
    var result = add(5, 3)
    println("result =")
    println(result)
    assert(result == 8, "Function call inference failed")

    println("All type inference tests passed!")
}

func add(a int, b int) int {
    a + b
}
